<?php

class Paginacion extends CI_Controller {

    function __construct() {
        parent::__construct();
        $this->load->model('marcas_model', '', TRUE);
        $this->load->model('paginacion_model', '', TRUE);
        $this->load->model('usuario_model', '', TRUE);
        $this->load->model('tardia_model', '', TRUE);
    }

    function index() {
        
    }

    function mis_marcas() {
        $cedula = $this->session->userdata('id');

        $this->load->library('pagination');
        $desde = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0;
        $config['per_page'] = 10;
        $config['base_url'] = base_url() . 'index.php/paginacion/mis_marcas/';
//            $config['total_rows'] = $this->paginacion_model->getUltimasMarcas($cedula, TRUE);
        $config['num_links'] = 2; //nro. de enlaces antes y después de la pagina actual
        $config['prev_link'] = '&#9668; anterior'; //texto del enlace que nos lleva a la pagina ant.
        $config['next_link'] = 'siguiente &#9658;'; //texto del enlace que nos lleva a la sig. página
        $config['uri_segment'] = 3;  //segmentos que va a tener nuestra URL
        $config['first_link'] = '<<';  //texto del enlace que nos lleva a la primer página
        $config['last_link'] = '>>';   //texto del enlace que nos lleva a la última página
        $config['cur_tag_open'] = '<span class="current">';
        $config['cur_tag_close'] = '</span>';

        $Fdesde = $this->input->post('Fdesde');
        $Fhasta = $this->input->post('Fhasta');
        $resultado['FdesdeView'] = $this->input->post('FdesdeView');
        $resultado['FhastaView'] = $this->input->post('FhastaView');


        $resultado['totalMarcas'] = $this->paginacion_model->getUltimasMarcas($cedula, TRUE);
        $resultado['listaMarcas'] = $this->paginacion_model->getUltimasMarcas($cedula, FALSE);

        $resultado['totalTardias'] = $this->paginacion_model->getUltimasTardias($cedula, TRUE);
        $resultado['ultimasTardias'] = $this->paginacion_model->getUltimasTardias($cedula, FALSE);

        $resultado['totalAusencias'] = $this->paginacion_model->getUltimasAusencias($cedula, TRUE);
        $resultado['ultimasAusencias'] = $this->paginacion_model->getUltimasAusencias($cedula, FALSE);
//            $resultado['paginacion'] = $this->pagination->create_links();


        if ($this->input->post('ajax') == 1) {
//--------------PAGINATION---------------------
            $config['total_rows'] = $this->paginacion_model->get_Marcas_Fecha_Limit($config['per_page'], $desde, $cedula, $Fdesde, $Fhasta, TRUE);

            $resultado['totalMarcas'] = $this->paginacion_model->get_Marcas_Fecha_Limit($config['per_page'], $desde, $cedula, $Fdesde, $Fhasta, TRUE);
            $resultado['listaMarcas'] = $this->paginacion_model->get_Marcas_Fecha_Limit($config['per_page'], $desde, $cedula, $Fdesde, $Fhasta, FALSE);

            $this->pagination->initialize($config);
            $resultado['paginacion'] = $this->pagination->create_links();
//--------------------------------------------------------------------------
            $this->load->view('mis_marcas_tabla', $resultado);
        } else if ($this->input->post('ajax') == 2) {
            //--------------PAGINATION---------------------
            $config['total_rows'] = $this->paginacion_model->get_Tardias_Fecha_Limit($config['per_page'], $desde, $cedula, $Fdesde, $Fhasta, TRUE);

            $resultado['totalTardias'] = $this->paginacion_model->get_Tardias_Fecha_Limit($config['per_page'], $desde, $cedula, $Fdesde, $Fhasta, TRUE);
            $resultado['ultimasTardias'] = $this->paginacion_model->get_Tardias_Fecha_Limit($config['per_page'], $desde, $cedula, $Fdesde, $Fhasta, FALSE);

            $this->pagination->initialize($config);
            $resultado['paginacion'] = $this->pagination->create_links();
            //--------------------------------------------------------------------------
            $this->load->view('mis_marcas_tabla2', $resultado);
        } else if ($this->input->post('ajax') == 3) {
            //--------------PAGINATION---------------------
            $config['total_rows'] = $this->paginacion_model->get_Ausencias_Fecha_Limit($config['per_page'], $desde, $cedula, $Fdesde, $Fhasta, TRUE);

            $resultado['totalAusencias'] = $this->paginacion_model->get_Ausencias_Fecha_Limit($config['per_page'], $desde, $cedula, $Fdesde, $Fhasta, TRUE);
            $resultado['ultimasAusencias'] = $this->paginacion_model->get_Ausencias_Fecha_Limit($config['per_page'], $desde, $cedula, $Fdesde, $Fhasta, FALSE);

            $this->pagination->initialize($config);
            $resultado['paginacion'] = $this->pagination->create_links();
            //--------------------------------------------------------------------------
            $this->load->view('mis_marcas_tabla3', $resultado);
        } else {

            $this->load->view('templates/head');
            $tipo_usuario = $this->session->userdata('tipo');
            if ($tipo_usuario == 1) {
                $this->load->view('templates/header');
            } else if ($tipo_usuario == 2) {
                $this->load->view('templates/header_jefe');
            } else {
                $this->load->view('templates/header_usuario');
            }
            $this->load->view('mis_marcas_view', $resultado);
            $this->load->view('templates/footer');
        }
    }

    function estadisticas() {

        $this->load->library('pagination');
        $desde = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0;
        $config['per_page'] = 10;
        $config['base_url'] = base_url() . 'index.php/paginacion/estadisticas';
        $config['num_links'] = 2; //nro. de enlaces antes y después de la pagina actual
        $config['prev_link'] = '&#9668; anterior'; //texto del enlace que nos lleva a la pagina ant.
        $config['next_link'] = 'siguiente &#9658;'; //texto del enlace que nos lleva a la sig. página
        $config['uri_segment'] = 3;  //segmentos que va a tener nuestra URL
        $config['first_link'] = '<<';  //texto del enlace que nos lleva a la primer página
        $config['last_link'] = '>>';   //texto del enlace que nos lleva a la última página
        $config['cur_tag_open'] = '<span class="current">';
        $config['cur_tag_close'] = '</span>';


        if ($this->input->post('ajax') == 1) {
            $this->load->helper('form');
            $resultado['ausencias'] = $this->marcas_model->getAusencias(TRUE, $config['per_page'], $desde, FALSE);

            $config['total_rows'] = $this->marcas_model->getAusencias(FALSE, 0, 0, TRUE);
            $this->pagination->initialize($config);
            $resultado['paginacion1'] = $this->pagination->create_links();

            $this->load->view('estadisticas_ajax1_view', $resultado);
        } else if ($this->input->post('ajax') == 2) {
            $this->load->helper('form');

            $resultado['tardias'] = $this->marcas_model->getTardias(TRUE, $config['per_page'], $desde - 1, FALSE);

            $config ['use_page_numbers'] = TRUE;
            $config['total_rows'] = $this->marcas_model->getTardias(FALSE, 0, 0, TRUE);
            $this->pagination->initialize($config);
            $resultado['paginacion2'] = $this->pagination->create_links();

            $this->load->view('estadisticas_ajax2_view', $resultado);
        } else {
//---------------PAGINATION---------------------
            $config['total_rows'] = $this->marcas_model->getAusencias(FALSE, 0, 0, TRUE);
            $this->pagination->initialize($config);
            $resultado['paginacion1'] = $this->pagination->create_links();
//--------------------------------------------------------------------------
            $this->load->helper('form');
            $this->load->view('templates/head');
            $tipo_usuario = $this->session->userdata('tipo');
            if ($tipo_usuario == 1) {
                $this->load->view('templates/header');
            } else if ($tipo_usuario == 2) {
                $this->load->view('templates/header_jefe');
            } else {
                $this->load->view('templates/header_usuario');
            }

            $config ['use_page_numbers'] = TRUE;
            $config['total_rows'] = $this->marcas_model->getTardias(FALSE, 0, 0, TRUE);
            $this->pagination->initialize($config);
            $resultado['paginacion2'] = $this->pagination->create_links();

            $resultado['ausencias'] = $this->marcas_model->getAusencias(TRUE, $config['per_page'], $desde, FALSE);
            $resultado['tardias'] = $this->marcas_model->getTardias(TRUE, $config['per_page'], $desde, FALSE);

            $this->load->view('estadisticas_view', $resultado);
            $this->load->view('templates/footer');
        }
    }

    function consultas() {
        $this->load->library('pagination');
        $desde = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0;
        $config['per_page'] = 10;
        $config['base_url'] = base_url() . 'index.php/paginacion/consultas/';
//            $config['total_rows'] = $this->paginacion_model->getUltimasMarcas($cedula, TRUE);
        $config['num_links'] = 2; //nro. de enlaces antes y después de la pagina actual
        $config['prev_link'] = '&#9668; anterior'; //texto del enlace que nos lleva a la pagina ant.
        $config['next_link'] = 'siguiente &#9658;'; //texto del enlace que nos lleva a la sig. página
        $config['uri_segment'] = 3;  //segmentos que va a tener nuestra URL
        $config['first_link'] = '<<';  //texto del enlace que nos lleva a la primer página
        $config['last_link'] = '>>';   //texto del enlace que nos lleva a la última página
        $config['cur_tag_open'] = '<span class="current">';
        $config['cur_tag_close'] = '</span>';

        if ($this->input->post('ajax') == 1) {
            $cedula = $this->input->post('cedula');
            $Tmarca = $this->input->post('Tmarca');
            $Fdesde = $this->input->post('Fdesde');
            $Fhasta = $this->input->post('Fhasta');
            $nombre = $this->input->post('nombre');
            $resultado['nombre'] = $nombre;
            if ($this->usuario_model->user_exists($cedula)) {
                switch ($Tmarca) {
                    case "Todo":
                        $config['total_rows'] = $this->marcas_model->get_Fecha_Limit($config['per_page'], $desde, $cedula, $Fdesde, $Fhasta, TRUE);
                        $resultado['marcas'] = $this->marcas_model->get_Fecha_Limit($config['per_page'], $desde, $cedula, $Fdesde, $Fhasta, FALSE);
                        $resultado['total'] = $config['total_rows'];
                        break;
                    case "Ausencias":
                        $config['total_rows'] = $this->marcas_model->getAusencia_usuario_Limit($config['per_page'], $desde, $cedula, $Fdesde, $Fhasta, TRUE);
                        $resultado['marcas'] = $this->marcas_model->getAusencia_usuario_Limit($config['per_page'], $desde, $cedula, $Fdesde, $Fhasta, FALSE);
                        $resultado['total'] = $config['total_rows'];
                        break;
                    case "Tardias":
                        $config['total_rows'] = $this->marcas_model->getTardia_usuario_Limit($config['per_page'], $desde, $cedula, $Fdesde, $Fhasta, TRUE);
                        $resultado['marcas'] = $this->marcas_model->getTardia_usuario_Limit($config['per_page'], $desde, $cedula, $Fdesde, $Fhasta, FALSE);
                        $resultado['total'] = $config['total_rows'];
                        break;
                }
                $this->pagination->initialize($config);
                $resultado['paginacion'] = $this->pagination->create_links();
                $this->load->view('consultar_marcas_tabla', $resultado);
            } else {
                echo "El usuario no existe";
            }
        } else {//sino es AJAX
            $this->load->view('templates/head');
            $tipo_usuario = $this->session->userdata('tipo');
            if ($tipo_usuario == 1) {
                $this->load->view('templates/header');
            } else if ($tipo_usuario == 2) {
                $this->load->view('templates/header_jefe');
            } else {
                $this->load->view('templates/header_usuario');
            }
            $this->load->view('consultar_marca_view');
            $this->load->view('templates/footer');
        }
    }

    function notificaciones() {
        $this->load->helper('form');
        $this->load->view('templates/head');
        $this->load->helper('url');

        $cedula = $this->session->userdata('id');
        $tipo_usuario = $this->session->userdata('tipo');

        $this->load->library('pagination');
        $desde = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0;
        $config['per_page'] = 10;
        $config['base_url'] = base_url() . 'index.php/paginacion/notificaciones/';
        $config['num_links'] = 2; //nro. de enlaces antes y después de la pagina actual
        $config['prev_link'] = '&#9668; anterior'; //texto del enlace que nos lleva a la pagina ant.
        $config['next_link'] = 'siguiente &#9658;'; //texto del enlace que nos lleva a la sig. página
        $config['uri_segment'] = 3;  //segmentos que va a tener nuestra URL
        $config['first_link'] = '<<';  //texto del enlace que nos lleva a la primer página
        $config['last_link'] = '>>';   //texto del enlace que nos lleva a la última página
        $config['cur_tag_open'] = '<span class="current">';
        $config['cur_tag_close'] = '</span>';


        if ($this->input->post('ajax') == 1) {
            //$this->load->helper('form');
            if ($tipo_usuario == 1) {
                $resultado['tardia_por_aprobar'] = $this->tardia_model->getTardiaPorAprobar(TRUE, $config['per_page'], $desde, FALSE);
                $config['total_rows'] = $this->tardia_model->getTardiaPorAprobar(FALSE, $config['per_page'], $desde, TRUE);
                $resultado['total'] = $config['total_rows'];
                $this->pagination->initialize($config);
                $resultado['paginacion'] = $this->pagination->create_links();
                $this->load->view('notificaciones_admin_tabla_view', $resultado);
            } else if ($tipo_usuario == 2) { //jefe

                    $resultado['tardia_por_aprobar'] = $this->tardia_model->getTardiaPorAprobarJefe(TRUE, $config['per_page'], $desde, FALSE, $cedula);
                    $config['total_rows'] = $this->tardia_model->getTardiaPorAprobarJefe(FALSE, $config['per_page'], $desde, TRUE, $cedula);
                    $resultado['total'] = $config['total_rows'];

                    $resultado['tardia_por_justificar'] = $this->tardia_model->getTardiaPorJustificarJefe(TRUE, $config['per_page'], $desde, FALSE, $cedula);
                    $resultado['total_justificar'] = $this->tardia_model->getTardiaPorJustificarJefe(TRUE, $config['per_page'], $desde, TRUE, $cedula);


                $this->pagination->initialize($config);
                $resultado['paginacion'] = $this->pagination->create_links();
                $this->load->view('notificaciones_jefe_tabla1_view', $resultado);
            } else if ($tipo_usuario == 3) {
                $cedula = $this->session->userdata('id');
                $resultado['tardia_por_justificar'] = $this->tardia_model->getAusenciaTardiaPorJustificar(TRUE, $config['per_page'], $desde, $cedula, FALSE);
                $config['total_rows'] = $this->tardia_model->getAusenciaTardiaPorJustificar(FALSE, $config['per_page'], $desde, $cedula, TRUE);
                $resultado['total'] = $config['total_rows'];
                $this->pagination->initialize($config);
                $resultado['paginacion'] = $this->pagination->create_links();
                $this->load->view('notificaciones_usuario_tabla_view', $resultado);
            }
        } else {

            if ($tipo_usuario == 1) {
                $this->load->view('templates/header');
                $resultado['tardia_por_aprobar'] = $this->tardia_model->getTardiaPorAprobar(TRUE, $config['per_page'], $desde, FALSE);
                $config['total_rows'] = $this->tardia_model->getTardiaPorAprobar(FALSE, $config['per_page'], $desde, TRUE);
                $resultado['total'] = $config['total_rows'];

                $this->pagination->initialize($config);
                $resultado['paginacion'] = $this->pagination->create_links();

                $this->load->view('notificaciones_admin_view', $resultado);
            } else if ($tipo_usuario == 2) { //jefe
                $this->load->view('templates/header_jefe');
                $resultado['tardia_por_aprobar'] = $this->tardia_model->getTardiaPorAprobarJefe(TRUE, $config['per_page'], $desde, FALSE, $cedula);
                $config['total_rows'] = $this->tardia_model->getTardiaPorAprobarJefe(FALSE, $config['per_page'], $desde, TRUE, $cedula);
                $resultado['total'] = $config['total_rows'];
                
                $this->pagination->initialize($config);
                $resultado['paginacion'] = $this->pagination->create_links();
                
                $resultado['tardia_por_justificar'] = $this->tardia_model->getTardiaPorJustificarJefe(TRUE, $config['per_page'], $desde, FALSE, $cedula);
                $resultado['total_justificar'] = $this->tardia_model->getTardiaPorJustificarJefe(TRUE, $config['per_page'], $desde, TRUE, $cedula);

                

                $this->load->view('notificaciones_jefe_view', $resultado);
            } else if ($tipo_usuario == 3) {
                $this->load->view('templates/header_usuario');
                $cedula = $this->session->userdata('id');
                $resultado['tardia_por_justificar'] = $this->tardia_model->getAusenciaTardiaPorJustificar(TRUE, $config['per_page'], $desde, $cedula, FALSE);
                $config['total_rows'] = $this->tardia_model->getAusenciaTardiaPorJustificar(FALSE, $config['per_page'], $desde, $cedula, TRUE);
                $resultado['total'] = $config['total_rows'];

                $this->pagination->initialize($config);
                $resultado['paginacion'] = $this->pagination->create_links();

                $this->load->view('notificaciones_usuario_view', $resultado);
            }

            $this->load->view('templates/footer');
        }
    }

}

?>
